﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CapaEntidades;
using CapaNegocio;

namespace SisHotel
{
    public partial class registrarse : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                CargarComboSexo();
                CargarComboNacionalidad();
                CargarComboTipoCliente();
            }
        }

        #region "Cargar Combos"
        private void CargarComboSexo()
        {
            List<string> Lista = new List<string>();
            Lista.Add("--Seleccionar--");
            Lista.Add("Femenino");
            Lista.Add("Masculino");
            ddlSexo.DataSource = Lista;
            ddlSexo.DataBind();
        }
        private void CargarComboNacionalidad()
        {
            ddlNacionalidad.DataSource = negNacionalidad.Instancia.ListatNacionalidad();
            ddlNacionalidad.DataValueField = "NOMBRE";
            ddlNacionalidad.Items.Insert(0, "--Seleccionar--");
            ddlNacionalidad.DataBind();
        }
        private void CargarComboTipoCliente()
        {
            List<string> Lista = new List<string>();
            Lista.Add("--Seleccionar--");
            Lista.Add("Natural");
            Lista.Add("Juridico");
            ddlTipoCliente.DataSource = Lista;
            ddlTipoCliente.DataBind();
        }

        #endregion

        #region "Programacion Botones"
        protected void btnRegistrarse_Click(object sender, EventArgs e)
        {
            if (txtNombres.Text.Trim() == "" || txtNombres.Text.Length < 3) { txtNombres.Focus(); return; }
            if (txtApellidos.Text.Trim() == "" || txtApellidos.Text.Length < 4) { txtApellidos.Focus(); return; }
            if (txtCorreo.Text.Trim() == "" || txtCorreo.Text.Length <= 8) { txtCorreo.Focus(); return; }
            entCliente c = new entCliente();
            entNacionalidad objNacionalidad = new entNacionalidad();
            bool retorno, band=false;
            try
            {
                c.Nombres = txtNombres.Text;
                c.Apellidos = txtApellidos.Text;
                c.Sexo = Convert.ToChar(ddlSexo.SelectedValue[0]);
                c.Direccion = txtDireccion.Text;
                c.Telefono = txtTelefono.Text;
                c.Correo = txtCorreo.Text;
                c.NroDocumento = txtNroDocumento.Text;
                objNacionalidad = negNacionalidad.Instancia.BuscarNacionalidadxNombre(ddlNacionalidad.SelectedValue);
                c.Nacionalidad = objNacionalidad;
                c.TipoCliente = ddlTipoCliente.SelectedValue;
                c.RUC = txtRUC.Text;
                c.RazonSocial = txtRazonSocial.Text;
                c.Password = txtPassword.Text;

                retorno = negCliente.Instancia.RegistrarCliente(c);

                if (retorno)
                {
                    Response.Write("<script>alert('Registrado con exito')</script>");
                    band = true;
                }
                else
                {
                    Response.Write("<script>alert('No se pudo registrar con exito')</script>");
                }
            }
            catch (Exception ex)
            {
                Response.Write("<script>alert('" + ex + "')</script>");

            }
            LimpiarControles();
            if (band)
            {
                Response.Redirect("login.aspx");
            }
        }
        #endregion

        #region "Limpiar Controles"
        private void LimpiarControles()
        {
            txtNombres.Text = string.Empty;
            txtApellidos.Text = string.Empty;
            //ddlSexo.SelectedIndex = 0;
            //ddlNacionalidad.SelectedIndex = 0;
            //ddlTipoCliente.SelectedIndex = 0;
            txtDireccion.Text = string.Empty;
            txtTelefono.Text = string.Empty;
            txtNroDocumento.Text = string.Empty;
            txtRUC.Text = string.Empty;
            txtRazonSocial.Text = string.Empty;
            txtCorreo.Text = string.Empty;
            txtPassword.Text = string.Empty;
        }
        #endregion

    }
}